#include "soc_comm.h"

#define SOFTTIMER_MAX 5

struct SoftTimer_e;
typedef void(*SoftTimerOutEventFunc)(struct SoftTimer_e *timer);

typedef struct SoftTimer_e
{
    int8_t Id;
    uint32_t Interval;
    SoftTimerOutEventFunc TimeOutCallBack;

    //private
    bool IsRunning;
    uint32_t Counter;
}SoftTimer_t;

void SoftTimerInit(SoftTimer_t *timer);
void SoftTimerSetCallBack(SoftTimer_t *timer, SoftTimerOutEventFunc callBack);
void SoftTimerStart(SoftTimer_t *timer);
void SoftTimerReStart(SoftTimer_t *timer);
void SoftTimerStop(SoftTimer_t *timer);
